TrustedTypePolicyFactory: createPolicy() Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die createPolicy()
-Methode der TrustedTypePolicyFactory
-Schnittstelle erstellt ein TrustedTypePolicy
-Objekt, das die als policyOptions
übergebenen Regeln implementiert.
Syntax
createPolicy(policyName, policyOptions)
Parameter
policyName
-
Ein String mit dem Namen der Richtlinie.
policyOptions
Optional-
Vom Benutzer definierte Funktionen zur Umwandlung von Zeichenfolgen in vertrauenswürdige Werte.
createHTML(input[,args])
-
Eine Callback-Funktion in Form eines Strings, die Code enthält, der beim Erstellen eines
TrustedHTML
-Objekts ausgeführt wird. createScript(input[,args])
-
Eine Callback-Funktion in Form eines Strings, die Code enthält, der beim Erstellen eines
TrustedScript
-Objekts ausgeführt wird. createScriptURL(input[,args])
-
Eine Callback-Funktion in Form eines Strings, die Code enthält, der beim Erstellen eines
TrustedScriptURL
-Objekts ausgeführt wird.
Rückgabewert
Ein TrustedTypePolicy
-Objekt.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn Richtliniennamen durch die Content-Security-Policy
trusted-types
-Direktive eingeschränkt sind und dieser Name nicht auf der Positivliste steht. TypeError
-
Wird ausgelöst, wenn der Name ein Duplikat ist und die Content-Security-Policy trusted-types-Direktive nicht
allow-duplicates
verwendet.
Beispiele
Erstellen einer Richtlinie für HTML-Senken
Der untenstehende Code erstellt eine Richtlinie mit dem Namen "myEscapePolicy"
und einer definierten Funktion für createHTML()
, die HTML bereinigt.
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
createHTML: (string) => string.replace(/</g, "<"),
});
Erstellen einer Standardrichtlinie
Auf einer Seite, auf der Trusted Types durch eine Content-Security-Policy mit der require-trusted-types-for
-Direktive mit dem Wert script
erzwungen werden, erwartet jedes Injektionsskript, das ein Skript akzeptiert, ein Trusted Type-Objekt. Falls stattdessen eine Zeichenfolge eingefügt wird, wird eine Standardrichtlinie verwendet.
Die Standardrichtlinie protokolliert eine Nachricht in der Konsole, um den Entwickler daran zu erinnern, diesen Teil der Anwendung anzupassen, um ein Trusted Type-Objekt zu verwenden. Sie hängt auch Details der Verwendung der Standardrichtlinie, des Typs und der Injektionssenke an den zurückgegebenen Wert an.
trustedTypes.createPolicy("default", {
createScriptURL(s, type, sink) {
console.log("Please refactor.");
return `${s}?default-policy-used&type=${encodeURIComponent(
type,
)}&sink=${encodeURIComponent(sink)}`;
},
});
Spezifikationen
Specification |
---|
Trusted Types # dom-trustedtypepolicyfactory-createpolicy |